package top.linuyx.service;

import top.linuyx.pojo.param.ShippingAddressInsertParam;
import top.linuyx.pojo.param.ShippingAddressUpdateParam;
import top.linuyx.pojo.vo.ShippingAddressVO;

import java.util.List;

/**
 * @Author Linuyx
 * @Description ShippingAddressService接口
 * @Date Created in 2021-04-20 15:00
 */
public interface ShippingAddressService {

    /**
     * 根据用户名查询所有收货地址
     *
     * @return ShippingAddressVO
     */
    List<ShippingAddressVO> listAllShippingAddressByUsername();

    /**
     * 添加收货地址
     *
     * @param insertParam ShippingAddress添加请求体
     */
    void insertAddress(ShippingAddressInsertParam insertParam);

    /**
     * 根据id修改收货地址
     *
     * @param updateParam ShippingAddress修改请求体
     */
    void updateAddressById(ShippingAddressUpdateParam updateParam);

    /**
     * 根据id删除收货地址
     *
     * @param shippingAddressId
     */
    void deleteAddressById(Long shippingAddressId);

}
